﻿namespace Brjnk.GpxExplorer.Data.ImportExport
{
    using System.Collections.Generic;
    using System.IO;
    using Brjnk.GpxExplorer.ViewModel;

    public interface IDataWriter
    {
        void Write(IEnumerable<WaypointVM> waypoints, IEnumerable<RouteVM> routes, IEnumerable<TrackVM> tracks, Stream target);

        string FileDialogFilter { get; }

        /// <summary>
        /// Přípona včetně tečky
        /// </summary>
        string Extension { get; }
    }

    public class DataWriterArgs
    {
        public DataWriterArgs(IEnumerable<WaypointVM> waypoints, IEnumerable<RouteVM> routes, IEnumerable<TrackVM> tracks)
        {
            this.Waypoints = waypoints;
            this.Routes = routes;
            this.Tracks = tracks;
        }

        public IEnumerable<WaypointVM> Waypoints { get; private set; }

        public IEnumerable<RouteVM> Routes { get; private set; }

        public IEnumerable<TrackVM> Tracks { get; private set; }
    }
}